# {{ ansible_managed }}
[DEFAULT]
control_exchange = {{ trove_control_exchange }}
trove_auth_url = {{ trove_guest_auth_url }}
nova_proxy_admin_user = {{ trove_service_user_name }}
nova_proxy_admin_pass = {{ trove_service_password }}
nova_proxy_admin_tenant_name = {{ trove_service_project_name }}

transport_url = {{ trove_oslomsg_rpc_transport }}://{% for host in trove_oslomsg_rpc_servers.split(',') %}{{ trove_oslomsg_rpc_userid }}:{{ trove_oslomsg_rpc_password }}@{{ host }}:{{ trove_oslomsg_rpc_port }}{% if not loop.last %},{% else %}/{{ trove_oslomsg_rpc_vhost }}{% endif %}{% endfor %}

{% if trove_swift_enabled is defined %}
swift_url = {{ trove_guest_swift_url }}
# Region name of this node. Default value is None.
os_region_name = {{ trove_service_region }}
# Service type to use when searching catalog.
swift_service_type = object-store
{% endif %}

# ========== Datastore Manager Configurations ==========
# Datastore manager implementations.
# Format: list of 'datastore-type:datastore.manager.implementation.module'
datastore_registry_ext = mysql:trove.guestagent.datastore.mysql.manager.Manager, percona:trove.guestagent.datastore.mysql.manager.Manager

# ========== Default Users / DBs Configuration ==========
root_grant = ALL
root_grant_option = True

{% if trove_storage_strategy is defined %}
# For storage to Swift, use the following as defaults:
storage_strategy = SwiftStorage
storage_namespace = trove.common.strategies.storage.swift

# Default config options for storing backups to swift
backup_swift_container = database_backups
backup_use_gzip_compression = True
backup_use_openssl_encryption = True
backup_aes_cbc_key = "default_aes_cbc_key"
backup_use_snet = False
backup_chunk_size = 65536
backup_segment_max_size = 2147483648
{% endif %}

# Show debugging output in logs (sets DEBUG log level output)
debug = {{ debug }}

# Directory and path for log files
log_dir = /var/log/trove/
log_file = trove-guestagent.log

[profiler]
# If False fully disable profiling feature.
#enabled = False
# If False doesn't trace SQL requests.
#trace_sqlalchemy = True

[oslo_messaging_rabbit]
# Connect over SSL for RabbitMQ. (boolean value)
# Deprecated group/name - [DEFAULT]/rabbit_use_ssl
ssl = {{ trove_guest_oslomsg_rpc_use_ssl }}

[oslo_messaging_notifications]
driver = {% if trove_ceilometer_enabled %}messagingv2{% else %}noop{% endif %}
transport_url = {{ trove_oslomsg_notify_transport }}://{% for host in trove_oslomsg_notify_servers.split(',') %}{{ trove_oslomsg_notify_userid }}:{{ trove_oslomsg_notify_password }}@{{ host }}:{{ trove_oslomsg_notify_port }}{% if not loop.last %},{% else %}/{{ trove_oslomsg_notify_vhost }}{% endif %}{% endfor %}

# ========== Datastore Specific Configuration Options ==========

[mysql]
# For mysql, the following are the defaults for backup, and restore:
backup_strategy = InnoBackupEx
backup_namespace = trove.guestagent.strategies.backup.mysql_impl
restore_namespace = trove.guestagent.strategies.restore.mysql_impl
# Default configuration for mysql replication
replication_strategy = MysqlBinlogReplication
replication_namespace = trove.guestagent.strategies.replication.mysql_binlog
replication_user = slave_user
replication_password = slave_password

# Users to ignore for user create/list/delete operations
ignore_users = os_admin

# Databases to ignore for db create/list/delete operations
# ignore_dbs = mysql, information_schema, performance_schema

[vertica]
# For vertica, following are the defaults needed:
mount_point = /var/lib/vertica
readahead_size = 2048
guestagent_strategy = trove.common.strategies.cluster.experimental.vertica.guestagent.VerticaGuestAgentStrategy

[redis]
# For redis, the following are the defaults for backup, and restore:
backup_strategy = RedisBackup
backup_namespace = trove.guestagent.strategies.backup.experimental.redis_impl
restore_namespace = trove.guestagent.strategies.restore.experimental.redis_impl

[percona]
backup_namespace = trove.guestagent.strategies.backup.mysql_impl
restore_namespace = trove.guestagent.strategies.restore.mysql_impl

[couchbase]
backup_namespace = trove.guestagent.strategies.backup.experimental.couchbase_impl
restore_namespace = trove.guestagent.strategies.restore.experimental.couchbase_impl

[cassandra]
backup_namespace = trove.guestagent.strategies.backup.experimental.cassandra_impl
restore_namespace = trove.guestagent.strategies.restore.experimental.cassandra_impl

[db2]
# For db2, the following are the defaults for backup, and restore:
backup_strategy = DB2Backup
backup_namespace = trove.guestagent.strategies.backup.experimental.db2_impl
restore_namespace = trove.guestagent.strategies.restore.experimental.db2_impl

[couchdb]
#For CouchDB, the following are the defaults for backup and restore:
backup_strategy = CouchDBBackup
backup_namespace = trove.guestagent.strategies.backup.experimental.couchdb_impl
restore_namespace = trove.guestagent.strategies.restore.experimental.couchdb_impl
